#ifndef LED_SYSFS_H
#define LED_SYSFS_H

// 简易 LED 控制（内核 LED class）：/sys/class/leds/<name>/brightness
// - on!=0：写入 "1"，off：写入 "0"（若存在 max_brightness 且>1，也会按 0/max 写入）
// - 返回 0 成功，<0 失败

int led_sysfs_set(const char *name, int on);
int led_sysfs_set_brightness_path(const char *brightness_path, int on);
// 自动检测可用的 LED 名称（优先 led2/led1/led3，其次任一目录名）。返回0成功
int led_sysfs_autodetect(char *out_name, unsigned out_sz);

// 简易探测：尝试对 name 写入 0/1 判断是否可控（返回0成功）
static inline int led_sysfs_probe(const char *name)
{
    // 先置 0 再置 1，保证有效控制；忽略返回值细节，仅要最终成功即可
    if (led_sysfs_set(name, 0) == 0) {
        (void)led_sysfs_set(name, 1);
        return 0;
    }
    return -1;
}

#endif // LED_SYSFS_H
